]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensionPrefs: Scroll with key focus
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 30 Jan 2020 00:28:02 +0000 (01:28 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 3 Feb 2020 18:03:19 +0000 (19:03 +0100)
Currently when the extensions list is scrolled, it is possible to
keynav out of view, as the scrolling doesn't follow the key focus.

Hook up the adjustment to fix that.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968

js/extensionPrefs/main.js
js/extensionPrefs/ui/extensions-window.ui

index 55172fb54ac5f4eaef9ffbd857ede4359c775842..74292957e1189b11185b7186e039b35cde7506a5 100644 (file)
@@ -70,7 +70,9 @@ var ExtensionsWindow = GObject.registerClass({
     InternalChildren: [
         'extensionsList',
         'killSwitch',
+        'mainBox',
         'mainStack',
+        'scrolledWindow',
     ],
 }, class ExtensionsWindow extends Gtk.ApplicationWindow {
     _init(params) {
@@ -80,6 +82,8 @@ var ExtensionsWindow = GObject.registerClass({
         this._loaded = false;
         this._prefsDialog = null;
 
+        this._mainBox.set_focus_vadjustment(this._scrolledWindow.vadjustment);
+
         this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
         this._settings.bind('disable-user-extensions',
             this._killSwitch, 'active',
index 8c235f4a03262de2c9c0219d2495fcae5fbb10bf..7305a03ee49371285fbf9a1664de53138dd5cc26 100644 (file)
         <property name="visible">True</property>
         <property name="transition_type">crossfade</property>
         <child>
-          <object class="GtkScrolledWindow">
+          <object class="GtkScrolledWindow" id="scrolledWindow">
             <property name="visible">True</property>
             <property name="hscrollbar_policy">never</property>
             <child>
               <object class="GtkViewport">
                 <property name="visible">True</property>
                 <child>
-                  <object class="GtkBox">
+                  <object class="GtkBox" id="mainBox">
                     <property name="visible">True</property>
                     <property name="orientation">vertical</property>
                     <property name="halign">center</property>